Skip to main content

Execution Context

执行上下文定义了代码执行的事件上下文。

执行上下文对象提供以下方法。

方法返回值描述
getFormContextFormContext返回表单的引用。
getPageContextPageContext返回表单页面的引用。
getCurrentContextCurrentContext根据调用方法的位置返回对表单或表单项的引用。
getEventArgsObject返回触发事件程序方法的对象。
getSharedVariableany返回通过 setSharedVariable 方法设置的变量。
setSharedVariableany设置一个可以在多个事件处理程序中可以共享的变量。

共享变量/函数

脚本1:

thisApp.formOnLoad = async (ctx) => {
const fn1 = () => {
alert('fn1');
}
// 把fn1设置成可共享的函数, 后面(文件后面的顺序,并且formOnLoad后执行的生命周期函数)脚本也可以使用
ctx.setSharedVariable('fn1', fn1);
};

脚本2:

thisApp.subGridRowOnInit = (ctx) => {
const fn1 = ctx.getSharedVariable('fn1');
fn1();
};

getCurrentContext

返回触发事件程序方法对应的上下文对象。

返回值

根据触发的不同事件,getCurrentContext 返回的值类型是不相同的。

事件返回对象
formOnLoadFormContext
fieldOnChangedFieldChangedContext
subGridOnChangedSubGridChangedContext
subGridRowOnFocusedSubGridRowFocusedContext
onSaveOnSaveContext

getEventArgs

返回触发事件程序方法的对象。

返回值

根据触发的不同事件,getEventArgs 返回的值类型是不相同的。

事件返回对象
formOnLoadObject 包括方法和属性:disableAsyncTimeout()
fieldOnChanged空对象
subGridOnChanged空对象
subGridRowOnFocused空对象
onSaveObject 包括方法和属性:disableAsyncTimeout()``cancel()